Providing information for shared content

ABSTRACT

Various embodiments can enable a content item associated with a sharer account of a content management system to be shared with a recipient account of the content management system. The content item can be analyzed to determine at least some information about the content item, which can include one or more properties associated with the content item, one or more representations of one or more content portions present in the content item, or any combination thereof. A communication can notify the recipient account that the sharer account has shared the content item with the recipient account. The communication can further comprise the determined information about the content item, which can include the one or more properties and/or the one or more representations of the content portions. This information can enable the recipient to make a better decision regarding whether or not to accept the share invitation.

TECHNICAL FIELD

The present technology pertains to shared content, and more specificallypertains to providing information about shared content.

BACKGROUND

Online content storage is becoming more popular. People frequentlystore, access, or otherwise interact with content stored at onlinecontent management systems. Documents, pictures, music, videos,directories, folders, and other types of content items can be stored atonline content management systems to be accessed by users of the onlinecontent management systems. In some cases, a content item can be sharedby one user with another user(s) via an online content managementsystem.

For example, a first entity can store a collection(s) of content items(e.g., a directory(ies), a document(s) within a directory(ies), a photoalbum, a media playlist, files, data, etc.) at the first entity'saccount with an online content management system. In other words, thefirst entity can be the “owner” of the collection(s) of content items.In one example, the first entity (i.e., owner) can decide to share acontent item with one or more other entities (also known as“recipients”) via the online content management system. In this example,the first entity can also be known as a “sharer” of the content item.The recipients can choose whether or not to accept the sharing of thecontent item. In some cases, if the recipients accept the sharing of thecontent item, then the recipients can download the content item via theonline content management system and the content item can be syncedamong the sharer (e.g., owner) account and the recipient accounts. Assuch, if any one of the sharer and/or the recipients modifies the sharedcontent item, then the modification(s) made to the shared content itemwill be updated (i.e., reflected, take place, etc.) at each of thesharer account and/or the recipient accounts.

In some cases, a recipient may have a difficult time deciding whether ornot to accept shared content. For example, the recipient might not knowmuch about the content item (e.g., a directory) and/or other sub-levelcontent items within the content item (e.g., files within thedirectory). The content item might not be sufficiently relevant withrespect to the recipient's perspective. In another example, therecipient might not know whether accepting (and thus downloading) theshared content would use up too much memory (e.g., storage space, harddisk space, etc.) at the recipient's online content management systemaccount and/or computing device. These and other concerns can createchallenges for the overall user experience associated with sharingcontent via online content management systems.

SUMMARY

Additional features and advantages of the disclosure will be set forthin the description which follows, and in part will be obvious from thedescription, or can be learned by practice of the herein disclosedprinciples. The features and advantages of the disclosure can berealized and obtained by means of the instruments and combinationsparticularly pointed out in the appended claims. These and otherfeatures of the disclosure will become more fully apparent from thefollowing description and appended claims, or can be learned by thepractice of the principles set forth herein.

Disclosed are systems, methods, and non-transitory computer-readablestorage media for providing information about content shared via anonline content management system. In some embodiments, a user of theonline content management system can store data, such as collections ofcontent items (e.g., directories, files, albums, playlists, etc.), atthe online content management system. The user can be considered the“owner” of the collections of content items. The owner can share one ormore of his content items with one or more other users, such that thecontent items can be synced among the owner and the other users withwhom the content items are shared. In this case, it follows that theowner can also be known as the “sharer” and the one or more other userscan also be known as the “recipients.”

In one example, one or more content items associated with a contentmanagement system account of the sharer can be shared with a contentmanagement system account of a recipient. The content management systemcan process the content item to be shared. For example, the contentmanagement system can analyze one or more content portions of thecontent item and/or other data associated with the content item. Thecontent management system can determine at least some information aboutthe content item based on the processing or analyzing. In one example,the content management system can determine one or more propertiesassociated with the content item, one or more representations of one ormore content portions present in the content item, or any combinationthereof.

Continuing with the example, the content management system can transmita communication notifying the recipient account that the sharer accounthas shared the content item with the recipient account. Thecommunication can also include the determined information about thecontent item, which can correspond to the one or more properties of thecontent item and/or the one or more representations of the contentportions of the content item. This information can enable the recipientto make an informed decision or at least a relatively better decisionregarding whether or not the recipient would likely be interested in theshared content item. If the recipient so chooses, the recipient canaccept the share invitation and access the shared content item.

It is important to note that the various embodiments and/or examplesdiscussed herein are for illustrative purposes only. A person havingordinary skill in the art would recognize various other manners orapproaches that can be utilized consistent with the scope of the presentdisclosure. Various other functions and advantages are described andsuggested below as may be provided in accordance with the variousembodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-recited and other advantages and features of the disclosurewill become apparent by reference to specific embodiments thereof whichare illustrated in the appended drawings. Understanding that thesedrawings depict only exemplary embodiments of the disclosure and are nottherefore to be considered to be limiting of its scope, the principlesherein are described and explained with additional specificity anddetail through the use of the accompanying drawings in which:

FIG. 1 shows an exemplary configuration of devices and a network inaccordance with the invention;

FIG. 2 shows an exemplary interface through which information about ashared content item can be provided;

FIG. 3A shows an exemplary client application through which informationabout a shared content item can be provided;

FIG. 3B shows an exemplary client application through which informationabout a shared content item can be provided;

FIG. 3C shows an exemplary client application through which informationabout a shared content item can be provided;

FIG. 4 shows an exemplary web interface through which information abouta shared content item can be provided;

FIG. 5A shows an exemplary computing device embodiment at whichinformation about a shared content item can be provided;

FIG. 5B shows an exemplary computing device embodiment at whichinformation about a shared content item can be provided;

FIG. 5C shows an exemplary computing device embodiment at whichinformation about a shared content item can be provided;

FIG. 6 shows an exemplary interface through which information about ashared content item can be provided;

FIG. 7 shows an exemplary method embodiment for providing informationfor shared content;

FIG. 8 shows an exemplary method embodiment for providing informationfor shared content;

FIG. 9 shows an exemplary method embodiment for providing informationfor shared content;

FIG. 10A shows an exemplary possible system embodiment for implementingvarious embodiments of the present technology; and

FIG. 10B shows an exemplary possible system embodiment for implementingvarious embodiments of the present technology.

DESCRIPTION

Various embodiments of the disclosure are discussed in detail below.While specific implementations are discussed, it should be understoodthat this is done for illustration purposes only. A person skilled inthe relevant art will recognize that other components and configurationsmay be used without parting from the spirit and scope of the disclosure.

The disclosed technology addresses the need in the art for providinginformation about content shared via a content management system.Various embodiments of the disclosed technology can enable a contentitem associated with a sharer account of the content management systemto be shared with a recipient account of the content management system.The content item can be analyzed to determine at least some informationabout the content item, which can include one or more propertiesassociated with the content item, one or more representations of one ormore content portions present in the content item, or any combinationthereof. A communication can notify the recipient account that thesharer account has shared the content item with the recipient account.The communication can further comprise the determined information aboutthe content item, which can include the one or more properties and/orthe one or more representations of the content portions. Thisinformation can enable the recipient to make a better decision regardingwhether or not to accept the share invitation.

With respect to implementing various embodiments of the disclosedtechnology, an exemplary system configuration 100 is shown in FIG. 1,wherein electronic devices communicate via a network for purposes ofexchanging content and other data. The system can be configured for useon a wide area network such as that illustrated in FIG. 1. However, thepresent principles are applicable to a wide variety of networkconfigurations that facilitate the intercommunication of electronicdevices. For example, each of the components of system 100 in FIG. 1 canbe implemented in a localized or distributed fashion in a network.

In system 100, a user can interact with content management system 106through client devices 102 ₁, 102 ₂, . . . , 102 _(n) (collectively“102”) connected to network 104 by direct and/or indirect communication.Content management system 106 can support connections from a variety ofdifferent client devices, such as desktop computers; mobile computers;mobile communications devices, e.g. mobile phones, smart phones,tablets; smart televisions; set-top boxes; and/or any other networkenabled computing devices. Client devices 102 can be of varying type,capabilities, operating systems, etc. Furthermore, content managementsystem 106 can concurrently accept connections from and interact withmultiple client devices 102.

A user can interact with content management system 106 via a client-sideapplication installed on client device 102 _(i). In some embodiments,the client-side application can include a content management systemspecific component. For example, the component can be a stand-aloneapplication, one or more application plug-ins, and/or a browserextension. However, the user can also interact with content managementsystem 106 via a third-party application, such as a web browser, thatresides on client device 102 _(i) and is configured to communicate withcontent management system 106. In either case, the client-sideapplication can present a user interface (UI) for the user to interactwith content management system 106. For example, the user can interactwith the content management system 106 via a client-side applicationintegrated with the file system or via a webpage displayed using a webbrowser application.

Content management system 106 can make it possible for a user to storecontent, as well as perform a variety of content management tasks, suchas retrieve, modify, browse, and/or share the content. Furthermore,content management system 106 can make it possible for a user to accessthe content from multiple client devices 102. For example, client device102 _(i) can upload content to content management system 106 via network104. The content can later be retrieved from content management system106 using the same client device 102 _(i) or some other client device102 _(j).

To facilitate the various content management services, a user can createan account with content management system 106. The account informationcan be maintained in user account database 150. User account database150 can store profile information for registered users. In some cases,the only personal information in the user profile can be a usernameand/or email address. However, content management system 106 can also beconfigured to accept additional user information.

User account database 150 can also include account managementinformation, such as account type, e.g. free or paid; usage information,e.g. file edit history; maximum storage space authorized; storage spaceused; content storage locations; security settings; personalconfiguration settings; content sharing data; etc. Account managementmodule 124 can be configured to update and/or obtain user accountdetails in user account database 150. The account management module 124can be configured to interact with any number of other modules incontent management system 106.

An account can be used to store content, such as digital data,documents, text files, audio files, video files, etc., from one or moreclient devices 102 authorized on the account. The content can alsoinclude folders or other mechanisms of grouping content items togetherwith different behaviors, such as collections, playlists, albums, etc.For example, an account can include a public folder that is accessibleto any user. The public folder can be assigned a web-accessible address.A link to the web-accessible address can be used to access the contentsof the public folder. In another example, an account can include aphotos folder that is intended for photos and that provides specificattributes and actions tailored for photos; an audio folder thatprovides the ability to play back audio files and perform other audiorelated actions; or other special purpose folders. An account can alsoinclude shared folders or group folders that are linked with andavailable to multiple user accounts. The permissions for multiple usersmay be different for a shared folder.

The content can be stored in content storage 160. Content storage 160can be a storage device, multiple storage devices, or a server.Alternatively, content storage 160 can be a cloud storage provider ornetwork storage accessible via one or more communications networks.Content management system 106 can hide the complexity and details fromclient devices 102 so that client devices 102 do not need to knowexactly where the content items are being stored by content managementsystem 106. In one variation, content management system 106 can storethe content items in the same folder hierarchy as they appear on clientdevice 102 _(i). However, content management system 106 can store thecontent items in its own order, arrangement, or hierarchy. Contentmanagement system 106 can store the content items in a networkaccessible storage (SAN) device, in a redundant array of inexpensivedisks (RAID), etc. Content storage 160 can store content items using oneor more partition types, such as FAT, FAT32, NTFS, EXT2, EXT3, EXT4,ReiserFS, BTRFS, and so forth.

Content storage 160 can also store metadata describing content items,content item types, and the relationship of content items to variousaccounts, folders, or groups. The metadata for a content item can bestored as part of the content item or can be stored separately. In onevariation, each content item stored in content storage 160 can beassigned a system-wide unique identifier.

Content storage 160 can decrease the amount of storage space required byidentifying duplicate files or duplicate segments of files. Instead ofstoring multiple copies, content storage 160 can store a single copy andthen use a pointer or other mechanism to link the duplicates to thesingle copy. Similarly, content storage 160 can store files moreefficiently, as well as provide the ability to undo operations, by usinga file version control that tracks changes to files, different versionsof files (including diverging version trees), and a change history. Thechange history can include a set of changes that, when applied to theoriginal file version, produce the changed file version.

Content management system 106 can be configured to support automaticsynchronization of content from one or more client devices 102. Thesynchronization can be platform agnostic. That is, the content can besynchronized across multiple client devices 102 of varying type,capabilities, operating systems, etc. For example, client device 102_(i) can include client software, which synchronizes, via asynchronization module 132 at content management system 106, content inclient device 102 _(i)'s file system with the content in an associateduser account. In some cases, the client software can synchronize anychanges to content in a designated folder and its sub-folders, such asnew, deleted, modified, copied, or moved files or folders. The clientsoftware can be a separate software application, can integrate with anexisting content management application in the operating system, or somecombination thereof. In one example of client software that integrateswith an existing content management application, a user can manipulatecontent directly in a local folder, while a background process monitorsthe local folder for changes and synchronizes those changes to contentmanagement system 106. Conversely, the background process can identifycontent that has been updated at content management system 106 andsynchronize those changes to the local folder. The client software canprovide notifications of synchronization operations, and can provideindications of content statuses directly within the content managementapplication. Sometimes client device 102 _(i) may not have a networkconnection available. In this scenario, the client software can monitorthe linked folder for file changes and queue those changes for latersynchronization to content management system 106 when a networkconnection is available. Similarly, a user can manually stop or pausesynchronization with content management system 106.

A user can also view or manipulate content via a web interface generatedand served by user interface module 122. For example, the user cannavigate in a web browser to a web address provided by contentmanagement system 106. Changes or updates to content in the contentstorage 160 made through the web interface, such as uploading a newversion of a file, can be propagated back to other client devices 102associated with the user's account. For example, multiple client devices102, each with their own client software, can be associated with asingle account and files in the account can be synchronized between eachof the multiple client devices 102.

Content management system 106 can include a communications interface 120for interfacing with various client devices 102, and can interact withother content and/or service providers 109 ₁, 109 ₂, . . . , 109 _(n)(collectively “109”) via an Application Programming Interface (API).Certain software applications can access content storage 160 via an APIon behalf of a user. For example, a software package, such as an app ona smartphone or tablet computing device, can programmatically make callsdirectly to content management system 106, when a user providescredentials, to read, write, create, delete, share, or otherwisemanipulate content. Similarly, the API can allow users to access all orpart of content storage 160 through a web site.

Content management system 106 can also include authenticator module 126,which can verify user credentials, security tokens, API calls, specificclient devices, and so forth, to ensure only authorized clients andusers can access files. Further, content management system 106 caninclude analytics module 134 module that can track and report onaggregate file operations, user actions, network usage, total storagespace used, as well as other technology, usage, or business metrics. Aprivacy and/or security policy can prevent unauthorized access to userdata stored with content management system 106.

Content management system 106 can include sharing module 130 formanaging sharing content publicly or privately. Sharing content publiclycan include making the content item accessible from any computing devicein network communication with content management system 106. Sharingcontent privately can include linking a content item in content storage160 with two or more user accounts so that each user account has accessto the content item. The sharing can be performed in a platform agnosticmanner. That is, the content can be shared across multiple clientdevices 102 of varying type, capabilities, operating systems, etc. Thecontent can also be shared across varying types of user accounts.

In some embodiments, content management system 106 can be configured tomaintain a content directory identifying the location of each contentitem in content storage 160. The content directory can include a uniquecontent entry for each content item stored in the content storage.

A content entry can include a content path that can be used to identifythe location of the content item in a content management system. Forexample, the content path can include the name of the content item and afolder hierarchy associated with the content item. For example, thecontent path can include a folder or path of folders in which thecontent item is placed as well as the name of the content item. Contentmanagement system 106 can use the content path to present the contentitems in the appropriate folder hierarchy.

A content entry can also include a content pointer that identifies thelocation of the content item in content storage 160. For example, thecontent pointer can include the exact storage address of the contentitem in memory. In some embodiments, the content pointer can point tomultiple locations, each of which contains a portion of the contentitem.

In addition to a content path and content pointer, a content entry canalso include a user account identifier that identifies the user accountthat has access to the content item. In some embodiments, multiple useraccount identifiers can be associated with a single content entryindicating that the content item has shared access by the multiple useraccounts.

To share a content item privately, sharing module 130 can be configuredto add a user account identifier to the content entry associated withthe content item, thus granting the added user account access to thecontent item. Sharing module 130 can also be configured to remove useraccount identifiers from a content entry to restrict a user account'saccess to the content item.

To share content publicly, sharing module 130 can be configured togenerate a custom network address, such as a uniform resource locator(URL), which allows any web browser to access the content in contentmanagement system 106 without any authentication. To accomplish this,sharing module 130 can be configured to include content identificationdata in the generated URL, which can later be used to properly identifyand return the requested content item. For example, sharing module 130can be configured to include the user account identifier and the contentpath in the generated URL. Upon selection of the URL, the contentidentification data included in the URL can be transmitted to contentmanagement system 106 which can use the received content identificationdata to identify the appropriate content entry and return the contentitem associated with the content entry.

In addition to generating the URL, sharing module 130 can also beconfigured to record that a URL to the content item has been created. Insome embodiments, the content entry associated with a content item caninclude a URL flag indicating whether a URL to the content item has beencreated. For example, the URL flag can be a Boolean value initially setto 0 or false to indicate that a URL to the content item has not beencreated. Sharing module 130 can be configured to change the value of theflag to 1 or true after generating a URL to the content item.

In some embodiments, sharing module 130 can also be configured todeactivate a generated URL. For example, each content entry can alsoinclude a URL active flag indicating whether the content should bereturned in response to a request from the generated URL. For example,sharing module 130 can be configured to only return a content itemrequested by a generated link if the URL active flag is set to 1 ortrue. Thus, access to a content item for which a URL has been generatedcan be easily restricted by changing the value of the URL active flag.This allows a user to restrict access to the shared content item withouthaving to move the content item or delete the generated URL. Likewise,sharing module 130 can reactivate the URL by again changing the value ofthe URL active flag to 1 or true. A user can thus easily restore accessto the content item without the need to generate a new URL.

While content management system 106 is presented with specificcomponents, it should be understood by one skilled in the art, that thearchitectural configuration of system 106 is simply one possibleconfiguration and that other configurations with more or less componentsare also possible.

With reference now to FIG. 2, FIG. 2 shows an exemplary interfacethrough which information about a shared content item can be provided.Exemplary interface 200 can include an interface for an electronicmailing (i.e., email) system. In the example of FIG. 2, User B 202 cansign into User B's account with the email system. The email system canallow User B 202 to send and/or receive email messages.

In one example, User A of an online content management system (e.g.,content management system 106 in FIG. 1) can send a shared content iteminvitation to User B 202 via the online content management system. Inother words, User A can make a request to the online content managementsystem to share one or more of his content items with User B 202. Theonline content management system can receive User A's request and causean email message to be transmitted to an email account associated withUser B's content management system account. As shown in the example ofFIG. 2, email message 204 can be transmitted by the content managementsystem and received by User B's email account. In the example, emailmessage 204 can include message content 206.

Conventional approaches generally notify a recipient user that afile/folder has been shared with the recipient. However, variousembodiments of the present disclosure enable much more detail oradditional information to be provided to recipients of the sharedcontent. Continuing with the example of FIG. 2, email message content206 not only includes a message 208 notifying User B 202 that User A hasshared a content item with User B 202 via the content management system,but message content 206 also provides various kinds of information aboutthe shared content item, such as one or more properties or details ofthe shared content item. For example, the various information caninclude (but is not limited to) the name of the shared content item(e.g., 210), the size of the shared content item (e.g., 212), thequantity (e.g., 214) of sub-level content items (if any) included withinContent Item J 210, the names (e.g., 220, 230, 240) of the sub-levelcontent items, the sizes (e.g., 222, 232, 242) of the sub-level contentitems, and/or the content types (e.g., 224, 234, 244) for the sub-levelcontent items.

In the example of FIG. 2, Content Item J 210 can be a shared directory(e.g., folder). Message content 206 can indicate that Content Item K 220is a sub-level content item within Content Item J 210 (e.g., a filewithin a folder). Message content 206 can indicate that Content Item K220 is 43 KB (222) in size and has a content type (e.g., file type, fileformat) of “document” (224), such as a word processing document, text,or a portable document format (PDF). Further, Content Item L 230 can bea 1.2 MB (232) image (234) content item within Content Item J 210.Moreover, Content Item M 240 can be a 2.7 MB (242) video (244) contentitem within Content Item J 210. Accordingly, User B 202 can make aninformed decision, or at least a relatively better decision, regardingwhether or not to accept the shared content invitation from User A.

In one example, perhaps User A and User B 202 went to an event togetherand User B might have been expecting media and other files related tothe event from User A. Although the shared content item is labeled as“Content Item J” 210 in FIG. 2, this is just for explanatory purposes.In this example, shared content item 210 could instead have been belabeled “Press Meeting on Jan. 1, 2013.” Similarly, content item 220could have been named “Minutes”. Content item 230 could have been called“User A & User B Photo” Likewise, content item 240 could have beenidentified as “Press meeting video recording”. This and otherinformation can allow User B 202 to better determine how relevant theshared content is, with respect to User B 202. Thus User B 202 canbetter decide whether or not he should accept and/or access the sharedcontent (e.g., via button/link 250).

In some embodiments, the information about the shared content item canbe received or obtained (e.g., downloaded) at a time when the recipientuser accesses (e.g., views, opens, etc.) the email message. As such, theinformation about the shared content item provided to the recipient usercan be with respect to the most recent version of the shared contentitem (e.g., incorporating any modifications to the shared content itembetween the time the email message was sent and the time when therecipient user accesses the email message).

FIG. 3A shows an exemplary client application through which informationabout a shared content item can be provided. In the example of FIG. 3A,there can be one or more interfaces, such as desktop 302 and/or task bar304 provided by an operating system of a computing device. In thisexample, the computing device, such as a desktop or notebook computer,can be associated with User B. The computing device can be running anapplication compatible with a content management system (e.g., 106 inFIG. 1). In FIG. 3A, the client application can be represented by icon306 displayed in task bar 304. In some embodiments, the application(i.e., client application, desktop application, etc.) can be configuredto work in conjunction with the content management system to sync UserB's data stored locally at the computing device with data stored at UserB's account at the content management system. As such, User B's localcollections of content items can be synced with those at his account atthe content management system, and vice versa.

In one example, User A can invite User B to a shared content item. Inthis example, User A can transmit the invite to the content managementsystem. The content management system can, in response, send acommunication to User B via the client application running on thecomputing device of User B. Based on the communication, the clientapplication can present notification 308 or another indicator to User B.For example, notification 308 can include a message indicating that UserA has shared a content item with User B. However, not only doesnotification 308 indicate that User A has shared the content item, butnotification 308 can also provide details or other information about theshared content item.

As shown in FIG. 3A, notification 308 can provide information includingone or more properties of the shared content item. For example,notification 308 can specify the name of the sharer (User A) and thename of the shared content item (“Content Item J”). Notification 308 canalso specify Content Item J's creator or author (User A) and whenContent Item J was created or authored (May 1, 2013), as shown inelement 310. Notification 308 can also state, for example, who mostrecently modified Content Item J (User C) and when (May 2, 2013), asshown in element 312. Further, notification 308 can indicate one or moreuser accounts (e.g., User A, User C, User D) with which Content Item Jhas been shared, as shown in element 314. It is also contemplated thatnotification 308 can provide various other information about the sharedcontent item.

Continuing with the example, these pieces of information (e.g., 310,312, 314, etc.) can allow User B to better gauge how interested he wouldbe in Content Item J. In some embodiments, if User B so chooses, he canaccept User A's share invite and access Content Item J by interactingwith (e.g., clicking on, hovering over, etc.) notification 308. In someembodiments, User B can accept the share invite and access Content ItemJ by interacting with icon 306, which, as previously mentioned, can be arepresentation of the client application for the content managementsystem.

FIG. 3B and FIG. 3C show an exemplary client application through whichinformation about a shared content item can be provided. In FIG. 3B andFIG. 3C, a computing device can be running an application, representedin the task bar by icon 350. The application (i.e., client application,desktop application, etc.) can be compatible with a content managementsystem. In FIG. 3B, the client application can display notification 352which indicates to User B that User A has invited User B to sharedcontent (“Content Item J”). In some embodiments, in order to savedisplay space, reduce distractions, etc., additional information aboutthe shared content need not be displayed in notification 352. In somecases, User B can interact with (e.g., click on, hover over, etc.)notification 352 to cause window 354 to be displayed by the clientapplication, as shown in FIG. 3C.

In addition to notification 352 of FIG. 3B, window 354 of FIG. 3C canfurther provide information 356 about shared Content Item J.Furthermore, window 354 can provide option 358 to accept or decline theshare invitation from User A with respect to Content Item J.

In some embodiments, the client application can be running while thecomputing device is in an active state (e.g., powered on, logged in, notin sleep-mode, not in hibernation-mode, etc.) and capable ofcommunicating with the content management system (e.g., connect to anetwork such as the Internet). As such, notifications can be provided bythe client application in real-time (i.e., within an allowable timeperiod) relative to when User A initiates the share invitation via thecontent management system.

Also, in some embodiments, when a sharer or other sharing member of acontent item revises, edits, or otherwise modifies the shared contentitem before a recipient user accepts the share invite, the contentmanagement system can cause information about the revision, edit, ormodification to be provided to the recipient user. In one example, ifthe sharer or other sharing member adds a new file to a shareddirectory, the size of the shared directory can increase. Informationabout this size increase can be provided to the recipient user. Forexample, the content management system can cause the information aboutthe size increase to be presented to the recipient user via notification308 in FIG. 3A, notification 352 in FIG. 3B, and/or window 354 in FIG.3C. Therefore, providing information about shared content items can be adynamic process, for example, such that if the recipient user views anotification (or window or communication) more than once, theinformation provided can change.

FIG. 4 shows an exemplary web interface through which information abouta shared content item can be provided. In some embodiments, a user of anonline content management system (e.g., 106 in FIG. 1) can utilize abrowsing (or navigational) application, such as a web browser, to accessthe online content management system. In one example, User B can utilizethe browsing application to access a web interface (e.g., website) forthe online content management system. In this example, the web interfacecan display window 402 (within an allowable time period from) when UserA makes a request to share content with User B. Window 402 can includeinformation 404 about shared Content Item J, which can allow User B tomake a relatively more informed decision regarding whether to accept ordecline 406 the shared content from User A.

In another example, a recipient user can be interacting with an emailmessage (e.g., message 202 in FIG. 2) associated with content shared bya sharer via the content management system. In this example, therecipient user can click on a button, link, etc., (e.g., button 250 inFIG. 2) within the email message to cause the web browser to execute andnavigate to the web interface for the content management system, whichcan display window 402 or otherwise provide information about the sharedcontent to the recipient user.

In a further example, the recipient user can interact with aninteractive element (e.g., button, link, clickable notification/window,etc.) provided by a client application (e.g., represented by icon 306 inFIG. 3A, represented by icon 350 in FIG. 3B and FIG. 3C). In thisexample, the interactive element provided by the client application canbe associated with the content shared by the sharer via the contentmanagement system. The recipient user's interaction with the interactiveelement can cause the web browser to execute and navigate to the webinterface for the content management system, which can display window402 or otherwise provide information about the shared content to therecipient user.

Moreover, in some embodiments, when a sharer or other sharing member ofa content item revises, edits, or otherwise modifies the shared contentitem before a recipient user accepts the share invite, the contentmanagement system can cause information about the revision, edit, ormodification to be provided to the recipient user via the web interface.Therefore, providing information about shared content items via the webinterface can also be a dynamic/real-time process.

FIG. 5A shows an exemplary computing device embodiment at whichinformation about a shared content item can be provided. In someembodiments, an application (i.e., app, mobile app, etc.) compatiblewith a content management system (e.g., 106 in FIG. 1) can beimplemented on a mobile computing device (e.g., smartphone, tabletcomputer, etc.) of a recipient user, such as User B, as shown in FIG.5A. In the example of FIG. 5A, exemplary computing device embodiment 500can have installed the app configured to work in conjunction with thecontent management system. In some embodiments, exemplary computingdevice 500 can provide notification 502 to indicate that User A hasshared a content item (“Content Item J”) with User B. In someembodiments, exemplary computing device 500 can have implemented pushnotifications, such that notification 502 can be provided insubstantially real-time.

In some embodiments, notification 502 can provide information 504 aboutthe shared content item. Information 504 can allow User B to make abetter decision regarding whether or not to access the shared contentitem by interacting with (e.g., clicking on, tapping at, swiping at,etc.) notification 502 or with the app for the content management systeminstalled on device 500. However, in some embodiments, in order to savedisplay space, reduce distraction, etc., information 502 about theshared content item need not be displayed within notification 502 andinstead can be provided subsequently in response to an interaction withrespect to notification 502.

Referring now to FIG. 5B and FIG. 5C, there can be an exemplarycomputing device embodiment at which information about a shared contentitem can be provided. Exemplary computing device embodiment 550 in FIG.5B and FIG. 5C can be associated with User B and can implement an appfor the content management system. In response to User A's invitation toUser B regarding shared Content Item J, the app installed on device 550can provide notification 552 specifying that User A has made theinvitation to share Content Item J with User B, as shown in FIG. 5B. Asdiscussed above, in some embodiments, information about shared ContentItem J need not be presented with notification 552. Instead, User B caninteract with notification 552 to cause the app to display interface 554of FIG. 5C. Interface 554 can correspond to a graphical user interface(GUI) for the app for the content management system. Interface 554 canprovide information 556 about the shared content item as well as anoption 558 to accept or decline the share invitation.

In addition, similar to previous discussions, in some embodiments,providing information about a shared content item to a recipient usercan performed dynamically and/or in real-time. As such, in some cases,information about modifications to the shared content item can beprovided to the recipient user.

Turning now to FIG. 6, FIG. 6 shows an exemplary interface through whichinformation about a shared content item can be provided. In FIG. 6,exemplary email system interface 600 is shown as an example (forillustrative purposes only). A person of ordinary skill in the art wouldrecognize that various other interfaces or approaches for providinginformation about shared content can be utilized as well.

In the example of FIG. 6, User B 602 can be logged into his emailaccount, which can be associated with his account at the contentmanagement system. Exemplary email system interface 600 can receive andpresent email message 604 at User B's email account. Email message 604can include message content 606. Email message content 606 can include astatement indicating that User A has shared a content item with User B602. Further, message content 606 can provide information 608 about theshared content item (“Content Item J”).

In some embodiments, information about a shared content item can includeone or more properties, details, characteristics, etc., of the sharedcontent item. In some embodiments, the information about the sharedcontent item can include one or more representations of one or morecontent portions of the shared content item. With reference to FIG. 6,Content Item J can include sub-level Content Item K, sub-level ContentItem L, and sub-level Content Item M. In other words, Content Item K,Content Item L, and Content Item M, can be shared content items withinshared Content Item J. As such, information 608 about shared ContentItem J can include information about shared sub-level Content Items K,L, and M.

In the example of FIG. 6, Content Item K can have at least some textcontent portions, and thus information 610 about Content Item K caninclude a “snippet” of text that is present in Content Item K. In otherwords, the snippet of text can correspond to a representation of a textcontent portion included in Content Item K. The representation of thetext content portion (e.g., snippet of text) for Content Item K caninclude at least one keyword present within Content Item K. In someembodiments, the content management system can analyze Content Item K toidentify the at least one keyword (or key phrase, key characters, etc.).For example, the content management system can analyze Content Item K todetermine a level of relevancy with respect to at least one sequence ofcharacters (e.g., key word, key phrase, etc.) present in Content Item K.In other words, the content management system can analyze a content itemto determine whether or not there are any words, phrases, and/or stringsof characters that might be sufficiently relevant (e.g., sufficientlyimportant, significant, useful, etc.).

In some embodiments, the content management system can take intoconsideration the uniqueness of a particular word (or phrase, string ofcharacters, etc.) with respect to other words, phrases, etc., in thecontent item. Additionally or alternatively, the content managementsystem can take into consideration how often a particular word (orphrase, string, etc.) appears with respect to content items associatedwith a particular user. Moreover, the content management system can takeinto consideration whether or not a particular word is a proper noun,highlighted, bolded, underlined, italicized, or otherwise emphasized. Aperson of ordinary skill in the art would recognize various otherfactors and/or approaches to identifying key words, phrases, orcharacters within a content item. Based on these analyzes (separately orin combination) and/or other considerations, the content managementsystem can identify at least one sequence of characters (e.g., key word,key phrase, etc.) when the level of relevancy with respect to the atleast one sequence of characters at least meets a relevancy threshold.

Referring back to the example involving shared Content Item K, thecontent management system can identify the key phrase “ABC Company” asbeing likely sufficiently relevant. The key phrase “ABC Company” can beprovided as information 610 about shared Content Item K. In someinstances, the at least one keyword can be emphasized. Further, in someinstances, the at least one key word, phrase, etc., can be provided inconjunction with one or more surrounding words or characters in thecontext of the at least one keyword. As such, a content portionrepresentation (e.g., snippet of text) for shared Content Item K can be“ . . . and ABC Company sales are . . . ”. The content portionrepresentation can enable User B to make a better decision regardingwhether or not to accept the share invitation from User A.

In some embodiments, the content portion representation (e.g., snippetof text) that is provided or displayed to the recipient user cancorrespond to a recently edited text portion. For example, if the shareror other sharing member of a content item adds a sentence to (a textportion of) the content item, then the added sentence (or at least aportion thereof) can be included in the content portion representationand be presented or displayed.

In another example, Content Item L can be an image content item or caninclude at least an image content portion. As such, information 612about Content Item L can include an image representation of the imagecontent present in Content Item L. As shown in FIG. 6, the imagerepresentation for Content Item L can correspond to a thumbnail image.In a further example, Content Item M can be a video content item or caninclude at least a video content portion. Thus, information 614 aboutContent Item M can include a video representation of the video contentpresent in Content Item M. In some cases, the video representation forContent Item M can correspond to a down-sampled video portion or othersampled animation (e.g., GIF image) of the full-length video content ofContent Item M.

Although not shown in FIG. 6, there can be other suitablerepresentations for other content types. For example, when a contentitem or content portion is associated with audio, an audio sample can beused as the representation for the audio content.

It is also contemplated that the information about the shared contentitem can include one or more properties/details about the shared contentitem, one or more content portions of the shared content item, and/orother data about the shared content item. In other words, theinformation about the shared content item can include properties of theshared content item, content portions of the shared content item, datarepresentations of the shared content item, or any combination thereof.

FIG. 7 shows an exemplary method embodiment for providing informationfor shared content. It should be understood that there can beadditional, fewer, or alternative steps performed in similar oralternative orders, or in parallel, within the scope of the variousembodiments unless otherwise stated. Exemplary method embodiment 700 canreceive a request to share a content item with at least one recipientaccount, at step 702. The request can be from a sharer accountassociated with the content item. In some cases, sharing the contentitem can provide read and write access of the content item to the atleast one recipient account. The sharer account and the at least onerecipient account can be associated with an online content managementsystem.

At step 704, exemplary method 700 can analyze the content item todetermine at least one of a property or a representation of a contentportion associated with the content item. In some embodiments, one ormore properties and/or representations can be determined. Step 706 caninclude transmitting a communication to the at least one recipientaccount. In some embodiments, the communication can indicate that thesharer account has requested to share the content item with the at leastone recipient account. Then method 700 can enable the at least one ofthe property or the representation of the content portion to be includedin the communication to the at least one recipient account, at step 708.The at least one of the property or the representation can enable the atleast one recipient account to make a better decision regarding whetherto accept or decline the shared content item.

FIG. 8 shows an exemplary method embodiment for providing informationfor shared content. As previously mentioned, it should be understoodthat there can be additional, fewer, or alternative steps performed insimilar or alternative orders, or in parallel, within the scope of thevarious embodiments unless otherwise stated. Exemplary method embodiment800 can receive, from a first account associated with one or morecontent items, a request to share the one or more content items with asecond account, at step 802. The first account and the second accountcan be associated with an online content management system.

At step 804, exemplary method 800 can analyze the one or more contentitems to determine information about the one or more content items. Theinformation can include at least one of a property or a representationof a content portion associated with the one or more content items. Step806 can include transmitting, to the second account, a communicationincluding the information about the one or more content items. In someembodiments, the communication can also indicate that the first accounthas requested to share the one or more content items with the secondaccount.

FIG. 9 shows an exemplary method embodiment for providing informationfor shared content. Again, it should be understood that there can beadditional, fewer, or alternative steps performed in similar oralternative orders, or in parallel, within the scope of the variousembodiments unless otherwise stated. At step 902, exemplary methodembodiment 900 can receive a notification of a request for one or morecontent items to be shared with a second account of an online contentmanagement system. The one or more content items can be associated witha first account of the online content management system. Thenotification can be received from the online content management system.

At step 904, method 900 can receive, at the second account, informationabout the one or more content items. The information can include atleast one of a property or a representation of a content portionassociated with the one or more content items. Step 906 can includepresenting, at the second account, the notification of the request andthe information including the at least one of the property or therepresentation of the content portion. Furthermore, in some embodiments,method 900 can also present an option to access the one or more contentitems being shared with the second account.

In some embodiments, information about one or more shared content itemsincludes one or more properties of the shared content items. This caninclude at least one of an identifier for an author of each content itemof the one or more shared content items, data indicating when eachcontent item was created, an identifier for a last modifier of eachcontent item, data indicating when each content item was last modified,a identifier for each content item, a size of each content item, anidentifier for another account with which the one or more content itemsare shared, a quantity of one or more sub-level content items withineach content item, an identifier for each sub-level content item of theone or more sub-level content items, a size for each sub-level contentitem, a content type for each sub-level content item, an identifier foran author of each sub-level content item, data indicating when eachsub-level content item was created, an identifier for a last modifier ofeach sub-level content item, or data indicating when each sub-levelcontent item was last modified.

In some embodiments, an option for the recipient user to download alocal version of the shared content item can be presented. The localversion can be a copy of the shared content item that is not syncedamong the shared members. Accordingly, modifications by the recipientuser to the local version will not be updated or reflected with respectto the shared content item at the accounts of the other sharing members(e.g., the sharer and other recipients). Similarly, modifications to theshared content item by the other sharing members will not be updated orreflected with respect to the local version.

Furthermore, in some embodiments, if the recipient user chooses todownload a local version of the shared content item, the recipient usercan select which of the (sub-level) content items within the sharedcontent item to download as local copies.

Various embodiments of the present technology can also implement adetermination of a level of relevancy for shared content. In oneexample, a relevancy score for a shared content item can be calculated.The relevancy score can indicate how relevant the shared content itemwill likely be with respect to the recipient user. The relevancy scorecan be calculated, for example, based on analyzing content portions ofthe content item, data about the recipient user, activity of otherrecipient users of the content item, etc. In some cases, the relevancyscore can be included in the information about the shared content item.

With reference now to FIG. 10A and FIG. 10B, FIG. 10A and FIG. 10B showexemplary possible system embodiments. The more appropriate embodimentwill be apparent to those of ordinary skill in the art when practicingthe present technology. Persons of ordinary skill in the art will alsoreadily appreciate that other system embodiments are possible.

FIG. 10A illustrates a conventional system bus computing systemarchitecture 1000 wherein the components of the system are in electricalcommunication with each other using a bus 1005. Exemplary system 1000includes a processing unit (CPU or processor) 1010 and a system bus 1005that couples various system components including the system memory 1015,such as read only memory (ROM) 1020 and random access memory (RAM) 1025,to the processor 1010. The system 1000 can include a cache of high-speedmemory connected directly with, in close proximity to, or integrated aspart of the processor 1010. The system 1000 can copy data from thememory 1015 and/or the storage device 1030 to the cache 1012 for quickaccess by the processor 1010. In this way, the cache can provide aperformance boost that avoids processor 1010 delays while waiting fordata. These and other modules can control or be configured to controlthe processor 1010 to perform various actions. Other system memory 1015may be available for use as well. The memory 1015 can include multipledifferent types of memory with different performance characteristics.The processor 1010 can include any general purpose processor and ahardware module or software module, such as module 1 1032, module 21034, and module 3 1036 stored in storage device 1030, configured tocontrol the processor 1010 as well as a special-purpose processor wheresoftware instructions are incorporated into the actual processor design.The processor 1010 may essentially be a completely self-containedcomputing system, containing multiple cores or processors, a bus, memorycontroller, cache, etc. A multi-core processor may be symmetric orasymmetric.

To enable user interaction with the computing device 1000, an inputdevice 1045 can represent any number of input mechanisms, such as amicrophone for speech, a touch-sensitive screen for gesture or graphicalinput, keyboard, mouse, motion input, speech and so forth. An outputdevice 1035 can also be one or more of a number of output mechanismsknown to those of skill in the art. In some instances, multimodalsystems can enable a user to provide multiple types of input tocommunicate with the computing device 1000. The communications interface1040 can generally govern and manage the user input and system output.There is no restriction on operating on any particular hardwarearrangement and therefore the basic features here may easily besubstituted for improved hardware or firmware arrangements as they aredeveloped.

Storage device 1030 is a non-volatile memory and can be a hard disk orother types of computer readable media which can store data that areaccessible by a computer, such as magnetic cassettes, flash memorycards, solid state memory devices, digital versatile disks, cartridges,random access memories (RAMs) 1025, read only memory (ROM) 1020, andhybrids thereof.

The storage device 1030 can include software modules 1032, 1034, 1036for controlling the processor 1010. Other hardware or software modulesare contemplated. The storage device 1030 can be connected to the systembus 1005. In one aspect, a hardware module that performs a particularfunction can include the software component stored in acomputer-readable medium in connection with the necessary hardwarecomponents, such as the processor 1010, bus 1005, display 1035, and soforth, to carry out the function.

FIG. 10B illustrates a computer system 1050 having a chipsetarchitecture that can be used in executing the described method andgenerating and displaying a graphical user interface (GUI). Computersystem 1050 is an example of computer hardware, software, and firmwarethat can be used to implement the disclosed technology. System 1050 caninclude a processor 1055, representative of any number of physicallyand/or logically distinct resources capable of executing software,firmware, and hardware configured to perform identified computations.Processor 1055 can communicate with a chipset 1060 that can controlinput to and output from processor 1055. In this example, chipset 1060outputs information to output 1065, such as a display, and can read andwrite information to storage device 1070, which can include magneticmedia, and solid state media, for example. Chipset 1060 can also readdata from and write data to RAM 1075. A bridge 1080 for interfacing witha variety of user interface components 1085 can be provided forinterfacing with chipset 1060. Such user interface components 1085 caninclude a keyboard, a microphone, touch detection and processingcircuitry, a pointing device, such as a mouse, and so on. In general,inputs to system 1050 can come from any of a variety of sources, machinegenerated and/or human generated.

Chipset 1060 can also interface with one or more communicationinterfaces 1090 that can have different physical interfaces. Suchcommunication interfaces can include interfaces for wired and wirelesslocal area networks, for broadband wireless networks, as well aspersonal area networks. Some applications of the methods for generating,displaying, and using the GUI disclosed herein can include receivingordered datasets over the physical interface or be generated by themachine itself by processor 1055 analyzing data stored in storage 1070or 1075. Further, the machine can receive inputs from a user via userinterface components 1085 and execute appropriate functions, such asbrowsing functions by interpreting these inputs using processor 1055.

It can be appreciated that exemplary systems 1000 and 1050 can have morethan one processor 1010 or be part of a group or cluster of computingdevices networked together to provide greater processing capability.

For clarity of explanation, in some instances the present technology maybe presented as including individual functional blocks includingfunctional blocks comprising devices, device components, steps orroutines in a method embodied in software, or combinations of hardwareand software.

In some embodiments the computer-readable storage devices, mediums, andmemories can include a cable or wireless signal containing a bit streamand the like. However, when mentioned, non-transitory computer-readablestorage media expressly exclude media such as energy, carrier signals,electromagnetic waves, and signals per se.

Methods according to the above-described examples can be implementedusing computer-executable instructions that are stored or otherwiseavailable from computer readable media. Such instructions can comprise,for example, instructions and data which cause or otherwise configure ageneral purpose computer, special purpose computer, or special purposeprocessing device to perform a certain function or group of functions.Portions of computer resources used can be accessible over a network.The computer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, firmware, orsource code. Examples of computer-readable media that may be used tostore instructions, information used, and/or information created duringmethods according to described examples include magnetic or opticaldisks, flash memory, USB devices provided with non-volatile memory,networked storage devices, and so on.

Devices implementing methods according to these disclosures can comprisehardware, firmware and/or software, and can take any of a variety ofform factors. Typical examples of such form factors include laptops,smart phones, small form factor personal computers, personal digitalassistants, and so on. Functionality described herein also can beembodied in peripherals or add-in cards. Such functionality can also beimplemented on a circuit board among different chips or differentprocesses executing in a single device, by way of further example.

The instructions, media for conveying such instructions, computingresources for executing them, and other structures for supporting suchcomputing resources are means for providing the functions described inthese disclosures.

Although a variety of examples and other information was used to explainaspects within the scope of the appended claims, no limitation of theclaims should be implied based on particular features or arrangements insuch examples, as one of ordinary skill would be able to use theseexamples to derive a wide variety of implementations. Further andalthough some subject matter may have been described in languagespecific to examples of structural features and/or method steps, it isto be understood that the subject matter defined in the appended claimsis not necessarily limited to these described features or acts. Forexample, such functionality can be distributed differently or performedin components other than those identified herein. Rather, the describedfeatures and steps are disclosed as examples of components of systemsand methods within the scope of the appended claims.

What is claimed is:
 1. A system for providing information for sharedcontent, comprising: at least one processor; one or more computerreadable media; and computer readable instructions, stored on the one ormore computer readable media, that when executed by the at least oneprocessor, cause the system to: receive, from a sharer accountassociated with a content item, a request to share the content item withat least one recipient account, wherein sharing the content itemprovides read and write access of the content item to the at least onerecipient account, and wherein the sharer account and the at least onerecipient account are associated with an online content managementsystem; analyze the content item to determine at least one of a propertyor a representation of a content portion associated with the contentitem; transmit a communication to the at least one recipient account,the communication indicating that the sharer account has requested toshare the content item with the at least one recipient account; andenable the at least one of the property or the representation of thecontent portion to be included in the communication to the at least onerecipient account.
 2. The system of claim 1, wherein the computerreadable instructions further cause the system to: provide an option forthe at least one recipient account to access the content item.
 3. Thesystem of claim 1, wherein the communication is provided to the at leastone recipient account via at least one of an email message, anapplication configured to work in conjunction with the contentmanagement system, or a navigation application running on a computingdevice associated with the at least one recipient account.
 4. The systemof claim 1, wherein the property includes at least one of a name for auser account who created the content item, a time indicating when thecontent item was created, a name for a user account who last modifiedthe content item, a time indicating when the content item was lastmodified, a name for the content item, a size of the content item, aquantity of sub-level content items within the content item, a name foreach of the sub-level content items, a size for each of the sub-levelcontent items, a content type for each of the sub-level content items, aname for another user account with which the content item is shared, aname for a user account who created each of the sub-level content items,a time indicating when each of the sub-level content items was created,a name for a user account who last modified each of the sub-levelcontent items, or a time indicating when each of the sub-level contentitems was last modified.
 5. The system of claim 1, wherein therepresentation of the content portion includes at least one of athumbnail when the content portion is associated with an image, a videosample when the content portion is associated with a video, an audiosample when the content portion is associated with an audio, or at leastone keyword when the content portion is associated with text contentitem.
 6. The system of claim 5, wherein analyzing the content itemincludes determining a level of relevancy with respect to at least onesequence of characters included in the content item, and wherein thecomputer readable instructions further cause the system to: identify theat least one keyword as being the at least one sequence of characterswhen the level of relevancy with respect to the at least one sequence ofcharacters at least meets a relevancy threshold.
 7. The system of claim5, wherein the representation of the content portion further includesone or more words surrounding the at least one keyword when the contentportion is associated with the text content item.
 8. Acomputer-implemented method, comprising: receiving, from a first accountassociated with one or more content items, a request to share the one ormore content items with a second account, the first account and thesecond account being associated with an online content managementsystem; analyzing the one or more content items to determine informationabout the one or more content items, the information including at leastone of a property or a representation of a content portion associatedwith the one or more content items; and transmitting, to the secondaccount, a communication indicating that the first account has requestedto share the one or more content items with the second account, whereinthe communication includes the information about the one or more contentitems.
 9. The computer-implemented method of claim 8, furthercomprising: determining a relevancy score for each of the one or morecontent items, wherein the information about the one or more contentitems includes the relevancy score for each of the one or more contentitems.
 10. The computer-implemented method of claim 9, whereindetermining the relevancy score for each of the one or more contentitems is based, at least in part, on one or more levels of activityassociated the one or more content items, each level of activity beingassociated with a respective content item of the one or more contentitems.
 11. The computer-implemented method of claim 8, wherein theproperty includes at least one of an identifier for an author of eachcontent item of the one or more content items, data indicating when eachcontent item was created, an identifier for a last modifier of eachcontent item, data indicating when each content item was last modified,a identifier for each content item, a size of each content item, anidentifier for another account with which the one or more content itemsare shared, a quantity of one or more sub-level content items withineach content item, an identifier for each sub-level content item of theone or more sub-level content items, a size for each sub-level contentitem, a content type for each sub-level content item, an identifier foran author of each sub-level content item, data indicating when eachsub-level content item was created, an identifier for a last modifier ofeach sub-level content item, or data indicating when each sub-levelcontent item was last modified.
 12. The computer-implemented method ofclaim 8, wherein the representation of the content portion includes atleast one of a thumbnail when the content portion is associated with animage, a video sample when the content portion is associated with avideo, an audio sample when the content portion is associated with anaudio, or at least one keyword when the content portion is associatedwith text content item.
 13. The computer-implemented method of claim 12,wherein analyzing the one or more content items includes determining alevel of relevancy with respect to at least one sequence of charactersincluded in the one or more content items, and wherein the methodfurther comprises: identifying the at least one keyword as being the atleast one sequence of characters based, at least in part, on determiningthat the level of relevancy with respect to the at least one sequence ofcharacters satisfies a relevancy threshold.
 14. The computer-implementedmethod of claim 12, wherein the representation of the content portionfurther includes one or more words surrounding the at least one keywordwhen the content portion is associated with the text content item. 15.The computer-implemented method of claim 8, wherein the informationabout the one or more content items is determined within an allowabletime period from when the second account attempts to interact with atleast one of the communication or the one or more content items.
 16. Anon-transitory computer-readable medium storing computer executableinstructions for causing a computing system to perform a methodcomprising: receiving, from an online content management system, anotification of a request for one or more content items associated witha first account of the online content management system to be sharedwith a second account of the online content management system;receiving, at the second account, information about the one or morecontent items, the information including at least one of a property or arepresentation of a content portion associated with the one or morecontent items; and presenting, at the second account, the notificationof the request, the information including the at least one of theproperty or the representation of the content portion, and an option toaccess the one or more content items being shared with the secondaccount.
 17. The non-transitory computer-readable medium of claim 16,wherein the one or more content items are to be shared with a set ofaccounts including the first account and the second account, and whereinthe method further comprises: downloading, at the second account, theone or more content items from the online content management system whenthe option to access the one or more content items has been selected;and receiving read and write access permissions, at the second account,with respect to the one or more content items, wherein the one or morecontent items are synced the set of accounts.
 18. The non-transitorycomputer-readable medium of claim 17, wherein the one or more contentitems are synched with the set of accounts such that a modification tothe one or more content items by the second account will be updated atthe set of accounts and a modification to the one or more content itemsby an account of the set of accounts will be updated at least at thesecond account.
 19. The non-transitory computer-readable medium of claim16, wherein the method further comprises: presenting, at the secondaccount, an option to download a local representation of at least aportion of the one or more content items at a time when the localrepresentation is downloaded.
 20. The non-transitory computer-readablemedium of claim 19, wherein the at least the portion of the one or morecontent items is selectable at the second account.